package luogu.hash;
//P2665 [USACO08FEB]Game of Lines S

import java.util.*;

/**
 * @author :chenjie
 * @date :Created 2023/1/3 17:22
 */
public class GameLinesS {
    static class pall{
        double x;
        double y;



        public pall(double x, double y) {
            this.x = x;
            this.y = y;
        }
    }
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        List<pall> list=new ArrayList<>();
        for (int i = 0; i < n; i++) {
            int a=sc.nextInt();
            int b=sc.nextInt();
            list.add(new pall(a,b));
        }
        Set<Double>set=new TreeSet<>();
        boolean a=true;
        for (int i = 0; i < list.size(); i++) {
            double x=list.get(i).x;
            double y=list.get(i).y;
            for (int j = i+1; j < list.size(); j++) {
                double x1=list.get(j).x;
                double y1=list.get(j).y;
                if((y1-y)==0){
                    if(a==true){
                        set.add(((y1-y)/(x1-x)));
                    }
                    a=false;
                    continue;
                }
                if(x==x1){
                    set.add((double) 0x3f3f3f3f);
                    continue;
                }
                set.add(((y1-y)/(x1-x)));

            }
        }
        System.out.println(set.size());
        System.out.println(set);
    }
}
